﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AutomatasPrj
{
    class Estado
    {
        private String id;
        private HashSet<Estado> estados;

        public Estado(String id)
        {
            this.id = id;
        }

        /// <summary>
        /// Permite crear un estado a partir de un set de estados.
        /// Útil para transformar un AFND a AFD
        /// </summary>
        /// <param name="estados">Set de estados</param>
        public Estado(HashSet<Estado> estados)
        {
            this.estados = estados;

            // Id = "q0, q1, q2, ..."
            foreach (Estado q in estados)
                this.id = this.id + ", " + q.id;
        }

        public String Id { get { return id; } }

        public HashSet<Estado> Estados { get { return estados; } }

        public override string ToString()
        {
            return Id;
        }
    }
}
